1. Statement of the Technical Field
The invention concerns computer systems. More particularly, the invention concerns systems and methods for providing a common (or a master) time manipulation service to desktop applications (e.g., historian applications).
2. Background
There are many conventional systems known in the art for facilitating access to time-stamped historical data. One such conventional system comprises an operator computer system (OCS), a plant control system (PCS), and industrial equipment. The PCS generally has a distributed network configuration, i.e., there are application specific modules connected to each other, industrial equipment, and operator interfaces via a local control network. The PCS is often comprised of a server and database for storing time-stamped historical data. The time-stamped historical data generally includes information defining the operations of the industrial equipment. For example, if the industrial equipment is a tank, then the time-stamped historical data includes information defining a liquid level in the tank at pre-selected times. Notably, the time-stamped historical data may not be written to a storage device at the pre-selected times. In such a scenario, the time-stamped historical data can be stored in a storage device at regular intervals, on-demand, or on an event. The tank level values and associated time-stamp values are periodically communicated from the industrial equipment to the PCS for storage in the database. The tank level and time-stamp values can be written to a storage device at regular intervals, on-demand, or at the time of an event.
The OCS is configured to enable the control of the industrial equipment by a user (e.g., an operator, a technician, or an engineer) and to facilitate the browsing of time-stamped historical data by the user. It should be understood that the user may need to browse time-stamped historical data for purposes of analyzing the operations of the industrial equipment. For example, if a user wants to determine if a level of a tank is increasing over time, then the user can browse the time-stamped historical data for the tank level over a certain period of time using historian applications installed on the OCS. Historian applications are well known to those having ordinary skill in the art, and therefore will not be described in detail herein. However, it should be understood that the historian applications can be configured to display graphical user interfaces (GUIs) in display windows of the OCS's display screen. The phrase “display window” as used herein refers to a visual area of the display screen configured to display a GUI. GUIs are well known to those having ordinary skill in the art, and therefore will not be described herein. Still, it should be understood that the GUIs can include, but are not limited to, content (e.g., charts, graphs, tables, and/or schematic illustrations mimicking the operations of a particular plant process). An exemplary schematic illustration of a plurality of conventional GUIs is provided in FIG. 1. As shown in FIG. 1, each of the GUIs displays time-stamped historical data and can have a toolbar configured to facilitate the movement of a time of focus backwards and/or forwards in time. The phrase “time of focus”, as used herein, refers to a time period bounded by a start time and an end time in which stored time-stamped historical data was obtained. For example, the trend shown in FIG. 1 has a time of focus bounded by a start time of 6:30 AM and an end time of 8:30 AM. A user can move the time of focus by a discrete step (e.g., fifteen minutes) or directly by changing the start time, end time, and/or current time.
The conventional system suffers from certain drawbacks. For example, the ability to manipulate the time of focus is on a per content or historian application (HA) basis. As such, if a user wants to synchronize the times of focus for displayed content, then the user is required to individually manipulate the time for each content. This time manipulation can involve (a) moving the time of focus forwards (or backwards) for each displayed content and/or (b) expanding (or contracting) the time of focus for each displayed content to change a view of displayed content, a resolution of displayed content, and/or an amount of data to be displayed in a GUI. One can appreciate that this is an inefficient time manipulation process. Therefore, there is a need for a time manipulation process configured to provide a more efficient time synchronization process as compared to the time synchronization process of conventional systems.